home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
win_q_t
/
trem.zip
/
TERMINAL.H
< prev
next >
Wrap
Text File
|
1991-05-11
|
4KB
|
162 lines
/************************************************************************
*
* Copyright (c) 1991 Microsoft Corporation. All Rights Reserved.
*
*-----------------------------------------------------------------------
*
* Project: Windows Terminal Example
*
* Module: terminal.h
*
* Author: Bryan A. Woodruff (baw)
*
*
* Remarks: This is the header file!
*
* Revisions:
* 01.00.000 5/ 9/91 baw Wrote it
*
************************************************************************/
#include <windows.h>
#include <string.h>
#include "version.h"
#include "ascii.h"
#include "res_def.h"
// constant definitions
#define GWW_TERMINFO 0
// terminal size
#define MAXROWS 25
#define MAXCOLS 80
#define MAXBLOCK 80
#define MAXBAUDRATES 4
#define MAXEVENTS 16
#define RXQUEUE 4096
#define TXQUEUE 4096
// cursor states
#define CS_SHOW 0x10
#define CS_HIDE 0x20
// Flow control states
#define FC_HARDWARE 0x01
#define FC_SOFTWARE 0x02
// COM prefix
#define COMPREFIX "COM"
// Timer settings
#define TIMER_INTERVAL 50
#define TIMER_EVENT 1
// Event messages
#define WM_EVENT_RXCHAR WM_USER + 0x1000
// data structures
typedef struct tagEVENT
{
HWND hWnd ;
int nCid ;
BOOL fPostFlag ;
WORD wEventMask ;
WORD wMsg ;
LPWORD lpEventPtr ;
} EVENT ;
typedef struct tagTERMINFO
{
int nCid ;
BYTE bPort, abScreen[ MAXROWS * MAXCOLS ] ;
BOOL fConnected, fXonXoff, fLocalEcho, fNewLine, fAutoWrap ;
BYTE bByteSize, bFlowCtrl, bParity, bStopBits ;
WORD wBaudRate, wCursorState ;
HFONT hDefaultFont, hFont ;
int xSize, ySize, xScroll, yScroll, xOffset, yOffset,
nColumn, nRow, xChar, yChar ;
} TERMINFO, NEAR *NPTERMINFO ;
// global stuff
#ifdef GLOBALDEFS
int nIdTimer ;
char szTerminalClass[] = "TerminalWndClass" ;
char szTerminalMenu[] = "TerminalMenu" ;
char szTerminalAccel[] = "TerminalAccel" ;
char szVersion[] = "00.00.000" ;
char szAppName[] = "Terminal" ;
EVENT aEvents[ MAXEVENTS ] ;
FARPROC lpTimerProc ;
HANDLE hAppInst, hAccel ;
WORD awBaudRates[ MAXBAUDRATES ] = { 1200, 2400, 4800, 9600 } ;
#else
extern int nIdTimer ;
extern char szTerminalClass[] ;
extern char szTerminalMenu[] ;
extern char szTerminalAccel[] ;
extern char szVersion[] ;
extern char szAppName[] ;
extern EVENT aEvents[ MAXEVENTS ] ;
extern FARPROC lpTimerProc ;
extern HANDLE hAppInst, hAccel ;
extern WORD awBaudRates[ MAXBAUDRATES ] ;
#endif
// function prototypes (private)
BOOL InitApplication( HANDLE ) ;
BOOL InitInstance( HANDLE, int, HWND * ) ;
LOCALHANDLE CreateTerminal( HWND ) ;
HFONT CreateTerminalFont( VOID ) ;
BOOL DestroyTerminal( HWND ) ;
BOOL KillTerminalFocus( HWND ) ;
BOOL PaintTerminal( HWND ) ;
BOOL SetTerminalFocus( HWND ) ;
BOOL ScrollTerminalHorz( HWND, WORD, WORD ) ;
BOOL ScrollTerminalVert( HWND, WORD, WORD ) ;
BOOL SizeTerminal( HWND, WORD, WORD ) ;
BOOL WriteCharacter( HWND, BYTE ) ;
BOOL WriteTerminalByte( HWND, BYTE ) ;
BOOL WriteTerminalBlock( HWND, LPSTR, int ) ;
int ReadCommBlock( HWND, LPSTR, int ) ;
BOOL WriteCommByte( HWND, BYTE ) ;
BOOL MoveTerminalCursor( HWND ) ;
BOOL OpenConnection( HWND ) ;
BOOL SetupConnection( HWND ) ;
BOOL CloseConnection( HWND ) ;
BOOL ProcessRxEvent( HWND, WORD, LONG ) ;
VOID GoModalDialogBoxParam( HANDLE, LPSTR, HWND, FARPROC, DWORD ) ;
int GetRadioButton( HWND, int, int ) ;
BOOL SettingsDlgInit( HWND, LOCALHANDLE ) ;
BOOL SettingsDlgTerm( HWND, LOCALHANDLE ) ;
BOOL SetEvent( HWND, int, WORD, WORD ) ;
BOOL ClearEvent( HWND, int, WORD ) ;
VOID KillEvent( HWND, int, WORD ) ;
// function prototypes (public)
LONG FAR PASCAL TerminalWndProc( HWND, WORD, WORD, LONG ) ;
BOOL FAR PASCAL AboutDlgProc( HWND, WORD, WORD, LONG ) ;
BOOL FAR PASCAL SettingsDlgProc( HWND, WORD, WORD, LONG ) ;
WORD FAR PASCAL TimerHandler( HWND, WORD, int, DWORD ) ;
/************************************************************************
* End of File: terminal.h
************************************************************************/